Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 25, 2025

Adds three new actions to control device microphone state: mute, unmute, and toggle.

Implementation

Action Definition

  • Added MUTE_MICROPHONE, UNMUTE_MICROPHONE, TOGGLE_MUTE_MICROPHONE to ActionId enum
  • Created ActionData.Microphone sealed class with corresponding data objects
  • Added entity mapping with identifiers: "mute_microphone", "unmute_microphone", "toggle_mute_microphone"

System Integration

  • Extended VolumeAdapter interface with microphone control methods
  • Implemented via AudioManager.isMicrophoneMute in AndroidVolumeAdapter
  • Added action execution handlers in PerformActionsUseCase
  • Added action creation in CreateActionDelegate

UI Configuration

  • Categorized under VOLUME alongside other audio controls
  • Material icons: Icons.Outlined.Mic / Icons.Outlined.MicOff
  • Requires Android M (API 23+) and ACCESS_NOTIFICATION_POLICY permission

Usage

// Microphone actions work like volume controls but without UI options
val action = ActionData.Microphone.Toggle  // Simple data object, no configuration needed

The actions appear in the VOLUME category in the action picker and execute immediately without configuration dialogs.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED -Xmx2048M -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-8.11.1-bin/bpt9gzteqjrbo1mjrsomdt32c/gradle-8.11.1/lib/gradle-daemon-main-8.11.1.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-8.11.1-bin/bpt9gzteqjrbo1mjrsomdt32c/gradle-8.11.1/lib/agents/gradle-instrumentation-agent-8.11.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.11.1 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Mute microphone action </issue_title>
<issue_description>Developer TODO (don't remove)

  • create new branch. put issue number at start of name
  • update documentation
  • merge and delete branch (don't squash because want commit history to see why I made changes)
  • notify email by Bernadi on 12/07</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Oct 25, 2025
Copilot AI changed the title [WIP] Add mute microphone action functionality Add microphone mute actions Oct 25, 2025
Copilot AI requested a review from jambl3r October 25, 2025 11:42
@sds100 sds100 merged commit b06b40d into develop Oct 26, 2025
0 of 3 checks passed
@sds100 sds100 deleted the copilot/mute-microphone-action branch October 26, 2025 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mute microphone action

3 participants